#pragma once
#include "IComponentSystem.h"

#include "SDLRenderer.h"

#ifdef _DEBUG
#define DEBUGDRAW
#endif

namespace ZeEngine
{
    class TransformComponent;
    class SpriteComponent;
    class AnimatedComponent;
    class ISDLWindow;
    class SDLTexture;
    class TextComponent;

    class RenderSystem : public IComponentSystem
    {
    public:
        RenderSystem();

        virtual ~RenderSystem();
        
		virtual bool Init(GameEngine& gameEngine) override;
        virtual void Render(SDL_Renderer& renderer, GameEngine& gameEngine, float interpolation) override;

		void RenderImpl(SDL_Renderer& renderer);

    protected:

        SDLRenderer m_renderer;
    };
}
